SDメモ : ブレンディング一覧
はじめに
SubstanceDesignerのブレンディングと、対応するブレンディングの計算式をまとめていきたいと思います。
Blendノード
Blendノードのインプットは以下のようになっています。
https://gyazo.com/8239a005a92004be3a7d0c887e853c28
元テクスチャ
以下の二つのテクスチャを使ってブレンドを行います。
https://gyazo.com/5ae72525aa9163b83c988fb09570fe62 https://gyazo.com/4bfc5b8f95795454b7f628b219dba8f3
Add(加算)
Blendノードの Blending Mode = Add(Linear Dodge)に設定するとAddブレンドが適用されます。
$ C = A + B
https://gyazo.com/aeddb1528c43bd24558437718d6ef775 https://gyazo.com/0ebc99ec88cfadf6ee83b80a22424330
加算では、AとBを入れ替えても同じ結果になります。
加算は覆い焼き(リニア)とも呼ばれます。
Add Sub
Foreground pixels with a value higher than 0.5 are added to their respective background pixels.
Foreground pixels with a value lower than 0.5 are substracted from their respective background pixels.
検証
Blendノードの Blending Mode = Add Subに設定してブレンドします。
$ \begin{cases} C = A + (B - 0.5) & (B > 0.5) \\C = A - (B - 0.5) & (B < 0.5) \end{cases}
https://gyazo.com/733ea62a51894ed758bbe159a2472d05 https://gyazo.com/aa31bdfe02605a0d7a0cd9b300ed2962
Bが黒い部分では、結果Cも黒くなっています。 $ C = A - B
検証 : A, Bを入れ替える
$ \begin{cases} C = B + A & (A > 0.5) \\C = B - A & (A < 0.5) \end{cases}
https://gyazo.com/640dd459cad5576dcc4fb240d885edad https://gyazo.com/c64197e5b662de9615b27f7ec75de808
Max(Lighten)
The Max Blending mode will pick the higher value between the background and the foreground.
Maxブレンドは二つの入力のうち、より大きい方を採用するようなブレンドです。
検証
Blendノードの Blending Mode = Maxに設定してブレンドします。
$ C = max(A, B)
https://gyazo.com/42844715d27acd75a25e668fe96d61e7 https://gyazo.com/b5e9a36487ba654181e7abfe22fc698a
Maxブレンドの入力は入れ替えても結果は変化しません
Min(Darken)
The Min Blending mode will pick the lower value between the background and the foreground.
Minブレンドは二つの入力のうち、より小さい方を採用するようなブレンドです。
検証
Blendノードの Blending Mode = Minに設定してブレンドします。
$ C = min(A, B)
https://gyazo.com/555d9a16fe6d6f89c0788c89e429ba58 https://gyazo.com/be74198e5cd4eefd9074caa88fe9a1ce
AとBは
Switch
The Switch blending mode will blend the background and the foreground according to the opacity
・ the closer we get to 0, the more we will see the background
・ the closer we get to 1, the more we will see the foreground
SwitchはOpacityの値を見て、AとBを混ぜるようなブレンドです。
検証 : Y方向グラデーション
Blendノードの Blending Mode = Switchに設定してブレンドします。
https://gyazo.com/2b9202e710263658a314e488e165d7c0 https://gyazo.com/0340a6182c668fc8f6c64be7dc4e4350
検証 : A, Bを入れ替える
https://gyazo.com/97e0569b004d840321bcf50cee73de36 https://gyazo.com/3b3ddfbc4507051771b547620dab6794
Divide(割り算)
The Divide blending mode will divide the background input pixels value by each corresponding pixel in the foreground.
検証
$ C = \frac {A}{B}
https://gyazo.com/3780b202e74e18deb89d9697e7157e16 https://gyazo.com/7235faf7ddfe3dc65e6fae771792a5a4
Bの黒い部分のブレンド結果Cは白になっています。
検証 : A, Bを入れ替える
$ C = \frac {B}{A}
https://gyazo.com/fa89ceb467e0e058e40452ad2a5ac3a9 https://gyazo.com/0c4b8612dbd911fe301a631de7fbf748
Bの黒い部分のブレンド結果Cは黒になっています。
Screen
With Screen blend mode the values of the pixels in the two inputs are inverted, multiplied, and then inverted again.
The result is the opposite effect to multiply and is always equal or higher (brighter) compared to the original.
検証
$ C = 1-(1-A)(1-B)
https://gyazo.com/a4213543c114ca66bdad130e1fc24f54 https://gyazo.com/901c279783ce264897ef5daef528771d
検証 : A, Bを入れ替える
$ C = 1-(1-B)(1-A)
https://gyazo.com/f64f29fa5f508e1007739e81faf8cf43 https://gyazo.com/901c279783ce264897ef5daef528771d
Screenブレンドでは入力を入れ替えても結果は同じです。
Overlay
$ A \leqq 0.5の場合 : 乗算ブレンド
$ A \geqq 0.5の場合 : Screenブレンド
https://gyazo.com/8f25dcbf3b74829217b1853b18db150f https://gyazo.com/dd07321bf257aec55b71f14e1be1ee71
A, Bを入れ替えた場合
$ B \leqq 0.5の場合 : 乗算ブレンド
$ B \geqq 0.5の場合 : Screenブレンド
https://gyazo.com/5974a43cb454300d988d160957e02d7b https://gyazo.com/a643b3673c9229bbf7cb671362d2ab59
Color Dodge(覆い焼きカラー)
Color Dodgeノードを使用します。
$ C = \frac {A}{(1 - B)}
https://gyazo.com/6a39a660fc4b197c14df3c47b6c7d819 https://gyazo.com/3f2b6c93685d06b2a1cd408a29b5a92b
Bが1に近い部分では、ブレンド結果は白飛びしていることが分かります。
A, Bを入れ替えた場合
$ C = \frac {B}{(1 - A)}
https://gyazo.com/1c5596a281aed9fcfc3025e34d63220c https://gyazo.com/2d78273be286e06275055718c007914a
Bが0に近い部分では、ブレンド結果も0に近いことが分かります。
Linear Burn (焼き込み(リニア))
$ C = A + B - 1
https://gyazo.com/ce25f27e7a4b10f05b38564363657d24 https://gyazo.com/dfe41db8aa3b00e89439e3afc7a7f7a8
A, Bを入れ替えた場合
$ C = B + A - 1
https://gyazo.com/a2b7e5180cb6972debc555fa6b4bcb9a https://gyazo.com/dfe41db8aa3b00e89439e3afc7a7f7a8]
Linear Burnへの入力は入れ替えても結果は変化しません。
焼き込みカラー(Color Burn)
Color Burnノードを使用します。
計算式
$ C = 1-\frac{(1-B)}{A}
検証
https://gyazo.com/ae8fa95ddd0ff234cbaadd25cf9d3f34 https://gyazo.com/a49fa45ab8d6bd175bc15135c3b2836a
Bが0に近い部分では、結果は0に近づきます。
Aが0に近い部分でも、結果は0に近づきます。
A, Bを入れ替えた場合
$ C = 1-\frac{(1-A)}{B}
https://gyazo.com/6b19d602ad58bc4bd9774c874c6942a7 https://gyazo.com/72d0996fe77b9c5a12f8beb8ab2945aa
Bが1に近い部分では、結果はAに近い値をとります。
ブレンドに関する参考リンク
【Photoshop】描画モードの英訳
Photoshopにおける,レイヤーのブレンドモードについて
ブレンドモード詳説 - osakana.factory
Blend modes - Wikipedia
Photoshopの描画モード(ブレンドモード)を理解するための、画像合成は計算だという話
Photoshop 描画モードの英語表記メモ